package com.hfy.pcberpbackend.dto;

import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 报价单新增DTO
 */
@Data
public class QuoteCreateDTO {
    
    /**
     * 客户代码
     */
    @NotBlank(message = "客户代码不能为空")
    private String customerCode;
    
    /**
     * 业务员
     */
    @NotBlank(message = "业务员不能为空")
    private String salesperson;
    
    /**
     * 合同编号
     */
    private String contractNumber;
    
    /**
     * 订单日期
     */
    @NotNull(message = "订单日期不能为空")
    private LocalDate orderDate;
    
    /**
     * 是否含税（0:否 1:增值税票13%）
     */
    @NotNull(message = "是否含税不能为空")
    private Integer isTaxIncluded;
    
    /**
     * 付款方式（CASH:现金 MONTHLY_30:月结30天 MONTHLY_60:月结60天）
     */
    @NotBlank(message = "付款方式不能为空")
    @Pattern(regexp = "^(CASH|MONTHLY_30|MONTHLY_60)$", message = "付款方式必须是CASH、MONTHLY_30或MONTHLY_60")
    private String paymentMethod;
    
    /**
     * 备注
     */
    private String remark;
    
    /**
     * 物料明细列表
     */
    private List<QuoteItemDTO> items;
} 